case class Reader[S, A](run: S => A)